package br.com.game.controle.niveis;

import br.com.engine.componentes.Scene;
import br.com.engine.controle.ControleBase;
import br.com.engine.input.EventoTecla;
import br.com.engine.input.KeyMap;
import br.com.engine.input.TecladoAdapter;

public class Menu extends Scene
{
	br.com.engine.menu.Menu menu;
	
	public ControleBase   game;
	public TecladoAdapter teclado;
	
	@Override
	public void setup( )
	{
		super.setup( );
		
		game    = ControleBase.getInstance( );
		teclado = TecladoAdapter.infNewInstacia( );
		
		menu = new br.com.engine.menu.Menu( );
		
		menu.add( "Novo Jogo", 90,  15 );
		menu.add( "Continuar", 120, 15 );
		menu.add( "Sair",      150, 15 );
	
		mapeiaEventos( );
		defineEventos( );
		
//		add( menu );
	}
	
	private void mapeiaEventos( )
	{
		teclado.addkeyTiger( new EventoTecla( KeyMap.UP    ) );
		teclado.addkeyTiger( new EventoTecla( KeyMap.DOWN  ) );
		teclado.addkeyTiger( new EventoTecla( KeyMap.SPACE ) );
		teclado.addkeyTiger( new EventoTecla( KeyMap.ENTER ) );
	}

	private void defineEventos( )
	{
		teclado.addOnPressed( evento ->
		{
			if( evento.getKeyCode( ) == KeyMap.UP.getKey( ) )
			{
				menu.previus( );
			}
			else if(evento.getKeyCode( ) == KeyMap.DOWN.getKey( ) )
			{
				menu.next( );
			}
			else if( evento.getKeyCode( ) == 	KeyMap.ENTER.getKey( ) )
			{
				if( menu.getIndice( ) == 1 )
					game.nextScene( 2 );
				else if( menu.getIndice( ) == 2 )
					game.nextScene( 3 );
				else if( menu.getIndice( ) == 3 )
				    game.stop( );
			}
		} );
	}
}